/**
 * @main	Plik naglowkowy klasy PlikKonfiguracyjny.
 * @file    konfiguracja.h
 * @author  Grzegorz Sejnota
 *
 * @created 27 grudzien 2008, 19:01
 * @version 0.0001
 */

#ifndef _KONFIGURACJA_H
#define	_KONFIGURACJA_H

#include "armax.h"
#include "dyskretny.h"
#include <string>
#include <fstream>

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++ POCZĄTEK [klasy plikKonfiguracyjny] +++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class PlikKonfiguracyjny{
private:
   /// strumien wejsciowy z pliku konfiguracyjnego
   std::fstream plikKonfig;

   ///sciezka do pliku konfiguracyjnego
   std::string sciezka;

   /* konstruktor */
   PlikKonfiguracyjny();
   
   /* konstruktor kopiujacy */
   PlikKonfiguracyjny(const PlikKonfiguracyjny &);
   
   /* operator przypisania */
   PlikKonfiguracyjny & operator=(const PlikKonfiguracyjny&){};
public:
   /* bardzo wazna metoda */
   ObiektARMAX wczytajArmax (std::string);

   /* wczytanie konfiguracji */
   std::vector<ObiektDyskretny * > wczytaj(); 

   /* zapisanie konfiguracji */
   bool zapisz(const std::vector<ObiektDyskretny * > & );

   /* destruktor */
   ~PlikKonfiguracyjny();

   /* metoda pozwalajaca utworzyc obiekt tej klasy*/
   static PlikKonfiguracyjny& pobierzInstancje();
};
//------------------------------------------------------------------------------
//-------------- KONIEC [klasa plikKonfiguracyjny] -----------------------------
//------------------------------------------------------------------------------


#endif	/* _KONFIGURACJA_H */

